In many content synchronization approaches, when an operating system detects that an action has occurred to a content item, the operating system produces an event associated with the content item. The operating system then sends the event to a client synchronization module. The client synchronization module then processes the event and the content item to determine if there are changes that should be synchronized with a content management system. This processing step can be computationally expensive and might require large amounts of data to be sent over a network. This step can be unnecessary if the client synchronization module triggered the event. What is needed is an approach that more intelligently processes events and content items.